#pragma omp threadprivate(global)
double global = 33.4f;

int main(int argc, char **argv) {
	int a, b=0;
	#pragma omp parallel default(none) shared(b) private(a) if (a == 3)
 	{
		b += a;
	    #pragma omp flush (b)
    }	

	#pragma omp parallel for default(none) num_threads(3)
		for(int n=0; n<10; ++n) 
			printf(" %d", n);
 
    #pragma omp single nowait	
	printf(".\n");

    #pragma omp for nowait
    for (int n = 0; n < 10; ++n)
        printf("N: %d\n", n);

	return 0;
}
